package com.gxa.service;

import com.gxa.common.JsonResult;
import com.gxa.common.R;
import com.gxa.pojo.Emp;
import org.apache.ibatis.annotations.Param;

public interface EmpService {
    //查询全部员工基本信息
    JsonResult queryAll(Integer page, Integer limit);

    //查询在职员工基本信息
    JsonResult queryWorking(Integer page, Integer limit);

    //查询离职员工基本信息
    JsonResult queryDeparture(Integer page, Integer limit);

    //查询黑名单基本信息
    JsonResult queryBlackList(Integer page, Integer limit);

    //录入员工信息
    R addEmp(Emp emp);

    //导入员工信息
    R importEmp();

    //导出员工信息
    R exportEmp();

    //编辑员工信息
    R editEmp(Emp emp);

    //在职变离职
    R setWorkingToDeparture(Integer param1, String param2);

    //离职变拉黑
    R setDepartureToBlackList(Integer param1, String param2);

    //取消拉黑
    R setBlackListToDeparture(Integer param1, String param2);

    //查看员工详情
    R queryEmpDetails(String emp_number);

    //模糊查询
    JsonResult fuzzyQuery(@Param("keyWord") String keyWord, Integer page, Integer limit);

    //学历下拉框
    R queryEdu();

    //部门下拉框
    R queryDept();

    //职称下拉框
    R queryTitle();

    //职务下拉框
    R queryJob();

    //人员类别下拉框
    R queryCategory();

    //民族下拉框
    R queryNation();

    //血型下拉框
    R queryBloodType();

    //婚姻状况下拉框
    R queryMaritalSta();


    JsonResult fuzzyQueryWorking(@Param("keyWord") String keyWord, Integer page, Integer limit);

    JsonResult fuzzyQueryDep(@Param("keyWord") String word, Integer page, Integer limit);

    JsonResult fuzzyQueryBlackList(@Param("keyWord") String word, Integer page, Integer limit);
}
